SPSS 交叉表(CROSSTABS) - 简易教程与示例
作者:Ruben Geert van den Berg,归档于 SPSS 表格 和 SPSS A-Z
SPSS 的 CROSSTABS
命令用于生成列联表(contingency tables),即针对一个变量的每个值,分别计算另一个变量的频数。如果满足假设条件,可以进行 卡方检验,以检验变量之间的关联是否具有统计学意义。本教程旨在快速介绍 CROSSTABS
的主要选项。
我们将使用 freelancers.sav 数据文件作为测试数据。
SPSS 交叉表 - 最小化规范
以下 语法 展示了最简单的 CROSSTABS
命令。它生成一个表格,其中包含 sector_2011
中每个值对应的 sector_2010
的频数。屏幕截图如下所示。
***最小化 CROSSTABS 命令。
**
crosstabs sector_2010 by sector_2011.
SPSS 交叉表 - CELLS 子命令
默认情况下,CROSSTABS
仅显示频数(计数)。但是,通过显示行百分比或列百分比(column percentages),变量之间的关联通常会变得更加明显。可以通过添加 CELLS
子命令来获取这些百分比。
请注意,可以同时选择多个单元格内容;下面的第二个示例包括列百分比和频率。在 CELLS
子命令上指定 ALL
可以全面了解所有选项。
***1. 交叉表,单元格中仅包含列百分比。
**
crosstabs sector_2010 by sector_2011/cells column.
***2. 交叉表,单元格中包含频率和列百分比。
**
crosstabs sector_2010 by sector_2011/cells count column.
SPSS 交叉表 - 多维表
多维表是通过在 CROSSTABS
中包含多个 BY
子句生成的。例如,下面的语法生成 sector_2011
的频率,针对 gender
和 sector_2010
的每个组合分别计算。以下屏幕截图显示了(部分)结果。
***三维交叉表(或列联表)。
**
crosstabs sector_2010 by sector_2011 by gender
/cells column.
SPSS 交叉表 - 多个表,相似的列
可以通过单个 CROSSTABS
命令生成具有相同列变量但行变量不同的多个表;只需在 BY
关键字之前指定多个变量名(可能使用 TO
关键字)。以下语法给出一个示例。
***多个表,相同的列变量,不同的行变量。
**
crosstabs sector_2011 to sector_2014 by sector_2010.
SPSS 交叉表 - 多个表,相似的行
在 BY
关键字之后指定多个变量会导致生成多个表,这些表具有不同的列变量,但具有相同的行变量。
***多个表,相同的行变量,不同的列变量。
**
crosstabs sector_2010 by sector_2011 to sector_2014.
SPSS 交叉表 - BARCHART 子命令
可以通过简单地添加 BARCHART
子命令从 CROSSTABS
中获得聚类条形图。但是,我们更喜欢通过 GRAPH
命令生成此类图表,因为它允许我们为图表设置适当的标题。
可以通过 SPSS 图表模板(.sgt)文件来设置通过任何一种方式生成的图表的样式,我们对下面的屏幕截图使用了该文件。
***带有条形图的交叉表。
**
crosstabs sector_2010 by sector_2011
/cells column
/barchart.
SPSS 交叉表 - STATISTICS 子命令
如本教程的介绍中所述,CROSSTABS
提供 卡方检验,用于评估所涉及变量之间关联的统计显著性。通过在 STATISTICS
子命令上指定 CHISQ
来获得它。
请记住,即使统计假设不成立,SPSS 也会很乐意生成测试结果,在这种情况下,这些结果可能完全不正确。
除了卡方检验统计量外,还有许多其他统计量可用。要获得完整概述,请在 STATISTICS
子命令上指定 ALL
或查阅命令语法参考。
***带有卡方独立性检验的交叉表。
**
crosstabs sector_2010 by sector_2011
/cells column
/statistics chisq.